package com.keensense.vcm.model;

import java.util.List;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;

/**
 * @author lanjian
 * @date 2020/5/19 3:32 下午
 */
@XmlRootElement(name = "request")
public class QueryUnFiledFaceRequest {

    private QueryUnFiledFaceRequest() {}

    public QueryUnFiledFaceRequest(PageModel page) {
        this.page = page;
    }

    /**
     * 创建开始的时间戳
     */
    @XmlElement
    private Long startTime;

    /**
     * 创建结束的时间戳
     */
    @XmlElement
    private String endTime;

    /**
     * 相机列表
     */
    @XmlElementWrapper(name = "cameraSns")
    @XmlElement(name = "cameraSn")
    private List<String> cameraSns;

    /**
     * 不填会默认选择环境中最早安装的算法
     */
    @XmlElement
    private String algorithmCode;

    /**
     * 指定检索时间段列表
     */
    @XmlElementWrapper(name = "periods")
    @XmlElement(name = "period")
    private List<Period> periods;

    /**
     * 分页信息
     */
    @XmlElement
    private PageModel page;

    @XmlTransient
    public Long getStartTime() {
        return startTime;
    }

    public void setStartTime(Long startTime) {
        this.startTime = startTime;
    }

    @XmlTransient
    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    @XmlTransient
    public List<String> getCameraSns() {
        return cameraSns;
    }

    public void setCameraSns(List<String> cameraSns) {
        this.cameraSns = cameraSns;
    }

    @XmlTransient
    public String getAlgorithmCode() {
        return algorithmCode;
    }

    public void setAlgorithmCode(String algorithmCode) {
        this.algorithmCode = algorithmCode;
    }

    @XmlTransient
    public List<Period> getPeriods() {
        return periods;
    }

    public void setPeriods(List<Period> periods) {
        this.periods = periods;
    }

    @XmlTransient
    public PageModel getPage() {
        return page;
    }

    public void setPage(PageModel page) {
        this.page = page;
    }
}
